package model;
// Generated 09/09/2013 15:25:02 by Hibernate Tools 3.2.1.GA


import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * TbPerfil generated by hbm2java
 */
@Entity
@Table(name="tb_perfil"
    ,catalog="bd_seguranca"
)
public class TbPerfil  implements java.io.Serializable {


     private int idtPerfil;
     private String nmePerfil;
     private Date dtaPerfil;
     private Set<TbPessoa> tbPessoas = new HashSet<TbPessoa>(0);
     private Set<TbAutorizacao> tbAutorizacaos = new HashSet<TbAutorizacao>(0);

    public TbPerfil() {
    }

	
    public TbPerfil(int idtPerfil, String nmePerfil, Date dtaPerfil) {
        this.idtPerfil = idtPerfil;
        this.nmePerfil = nmePerfil;
        this.dtaPerfil = dtaPerfil;
    }
    public TbPerfil(int idtPerfil, String nmePerfil, Date dtaPerfil, Set<TbPessoa> tbPessoas, Set<TbAutorizacao> tbAutorizacaos) {
       this.idtPerfil = idtPerfil;
       this.nmePerfil = nmePerfil;
       this.dtaPerfil = dtaPerfil;
       this.tbPessoas = tbPessoas;
       this.tbAutorizacaos = tbAutorizacaos;
    }
   
     @Id 
    
    @Column(name="idt_perfil", unique=true, nullable=false)
    public int getIdtPerfil() {
        return this.idtPerfil;
    }
    
    public void setIdtPerfil(int idtPerfil) {
        this.idtPerfil = idtPerfil;
    }
    
    @Column(name="nme_perfil", nullable=false, length=20)
    public String getNmePerfil() {
        return this.nmePerfil;
    }
    
    public void setNmePerfil(String nmePerfil) {
        this.nmePerfil = nmePerfil;
    }
    @Temporal(TemporalType.TIMESTAMP)
    @Column(name="dta_perfil", nullable=false, length=19)
    public Date getDtaPerfil() {
        return this.dtaPerfil;
    }
    
    public void setDtaPerfil(Date dtaPerfil) {
        this.dtaPerfil = dtaPerfil;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="tbPerfil")
    public Set<TbPessoa> getTbPessoas() {
        return this.tbPessoas;
    }
    
    public void setTbPessoas(Set<TbPessoa> tbPessoas) {
        this.tbPessoas = tbPessoas;
    }
@ManyToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY)
    @JoinTable(name="ta_autorizacao_perfil", catalog="bd_seguranca", joinColumns = { 
        @JoinColumn(name="cod_perfil", nullable=false, updatable=false) }, inverseJoinColumns = { 
        @JoinColumn(name="cod_autorizacao", nullable=false, updatable=false) })
    public Set<TbAutorizacao> getTbAutorizacaos() {
        return this.tbAutorizacaos;
    }
    
    public void setTbAutorizacaos(Set<TbAutorizacao> tbAutorizacaos) {
        this.tbAutorizacaos = tbAutorizacaos;
    }




}


